/**
 * 
 */
package business;

import java.util.Observable;
import java.util.Observer;

import vista.domain.PapaVisual;
import vista.domain.PizarraVisual;
import vista.ventanas.PanelPizarra;

import domain.Juego;
import domain.Papa;

/**
 * @author De La
 *
 */
public class JuegoObserver implements Observer {
	
	/* (non-Javadoc)
	 * @see java.util.Observer#update(java.util.Observable, java.lang.Object)
	 */
	public void update(Observable arg0, Object arg1) {
		Juego juego = (Juego) arg0;
		//Creo la pizarraVisual
		if ( juego.getPizarra().countObservers() < 1 ) {
			PizarraVisual pizarraVisual = new PizarraVisual( juego.getPizarra() );
			juego.getPizarra().addObserver( pizarraVisual );
			PanelPizarra.getInstance().add( pizarraVisual );
		}
		//Para cada papa, si no tiene un papaVisual se lo creo
		for (Papa papa : juego.getPapas()) {
			if ( papa.countObservers() < 1 ) {
				PapaVisual papaVisual = new PapaVisual( papa );
				papa.addObserver( papaVisual );
				PanelPizarra.getInstance().add( papaVisual );
				/**
				 * TODO agregar los puntos de la papa en la pizarra
				 * para q esta no dibuje trazo sobre la papa
				 */
				//Agrego puntos de la papa a la pizarra
				juego.getPizarra().addPapa(papa);
			}
		}
	}

}
